package com.polarrose.json.beans;

import java.util.List;
import java.util.Set;

import com.polarrose.json.annotations.JsonHint;

public class BeanWithCollections {

	private List<String> strings;
	private Set<Long> longs;
	private List list;
	private Set<SimpleBeanInCollection> set;
	private List<BeanWithCollections> recursive;

	public List getList() {
		return list;
	}

	@JsonHint(className = SimpleBeanInCollection.class)
	public void setList(List list) {
		this.list = list;
	}

	public void add(SimpleBeanInCollection bean) {
		list.add(bean);
	}

	@JsonHint(className = SimpleBeanInCollection.class)
	public Set<SimpleBeanInCollection> getSet() {
		return set;
	}

	public void setSet(Set<SimpleBeanInCollection> set) {
		this.set = set;
	}

	public List<String> getStrings() {
		return strings;
	}

	@JsonHint(className = String.class)
	public void setStrings(List<String> strings) {
		this.strings = strings;
	}

	public Set<Long> getLongs() {
		return longs;
	}

	@JsonHint(className = Long.class)
	public void setLongs(Set<Long> longs) {
		this.longs = longs;
	}

	public List<BeanWithCollections> getRecursive() {
		return recursive;
	}

	@JsonHint(className = BeanWithCollections.class)
	public void setRecursive(List<BeanWithCollections> recursive) {
		this.recursive = recursive;
	}
}
